package com.ruoyi.ktv.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 子订单管理对象 ktv_sub_order
 * 
 * @author xubiao
 * @date 2023-03-01
 */
public class KtvSubOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 子订单id */
    private Long subOrderId;

    /** 订单id */
    @Excel(name = "订单id")
    private Long orderId;

    /** 商品id */
    @Excel(name = "商品id")
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 消费者 */
    @Excel(name = "消费者")
    private String consumer;

    /** 是否单独支付 */
    @Excel(name = "是否单独支付")
    private String isPaySeparate;

    /** 应收金额 */
    @Excel(name = "应收金额")
    private Long amountReceivable;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private Long amountPaid;

    /** 付款人 */
    @Excel(name = "付款人")
    private String payMan;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    public void setSubOrderId(Long subOrderId) 
    {
        this.subOrderId = subOrderId;
    }

    public Long getSubOrderId() 
    {
        return subOrderId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }
    public void setConsumer(String consumer) 
    {
        this.consumer = consumer;
    }

    public String getConsumer() 
    {
        return consumer;
    }
    public void setIsPaySeparate(String isPaySeparate) 
    {
        this.isPaySeparate = isPaySeparate;
    }

    public String getIsPaySeparate() 
    {
        return isPaySeparate;
    }
    public void setAmountReceivable(Long amountReceivable) 
    {
        this.amountReceivable = amountReceivable;
    }

    public Long getAmountReceivable() 
    {
        return amountReceivable;
    }
    public void setAmountPaid(Long amountPaid) 
    {
        this.amountPaid = amountPaid;
    }

    public Long getAmountPaid() 
    {
        return amountPaid;
    }
    public void setPayMan(String payMan) 
    {
        this.payMan = payMan;
    }

    public String getPayMan() 
    {
        return payMan;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("subOrderId", getSubOrderId())
            .append("orderId", getOrderId())
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("quantity", getQuantity())
            .append("consumer", getConsumer())
            .append("isPaySeparate", getIsPaySeparate())
            .append("amountReceivable", getAmountReceivable())
            .append("amountPaid", getAmountPaid())
            .append("payMan", getPayMan())
            .append("payTime", getPayTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
